namespace lucere.index.write
{
    public interface ICharacterBlockPool 
    {
        char[][] Buffers { get; set; } 
        int NumBuffer { get; set; } 

        /// <summary>
        /// Which buffer we are upto
        /// </summary>
        int BufferUpTo { get; set; }

        /// <summary>
        /// Where we are in head buffer
        /// </summary>
        int CharUpTo { get; set; } 

        /// <summary>
        /// Current head buffer
        /// </summary>
        char[] Buffer { get; set; }

        /// <summary>
        /// Current head offset
        /// </summary>
        int CharOffset { get; set; } 

        void Reset();
        void NextBuffer();
    }
}